#ifndef LANE_H
#define LANE_H

#include <QWidget>
#include <QListWidget>
#include <QLabel>
#include <QLineEdit>
#include <QComboBox>
#include <QPushButton>

#include "custompushbutton.h"

class Lane : public QWidget
{
    Q_OBJECT
public:
    explicit Lane(QWidget *parent = nullptr);
    ~Lane();

private:
    void initUI();
    void initSignalSlot();
    void setLineEdit(bool bState);
    
    QLabel *m_pLabel_Subsection;
    QListWidget *m_pListWidget_SubsectionData;

    QLineEdit *m_pLineEdit_ID;
    QLineEdit *m_pLineEdit_BaseLineOffse;
    QLineEdit *m_pLineEdit_StartPoint;
    QLineEdit *m_pLineEdit_BeforeLane;
    QLineEdit *m_pLineEdit_LaterLane;
    QLineEdit *m_pLineEdit_LaneWidth;
    QLineEdit *m_pLineEdit_LaneSpeed;
    QComboBox *m_pCombox_Type;

    QLineEdit *m_pLineEdit_SideBoundary_Start;
    QLineEdit *m_pLineEdit_SideBoundary_Color;
    QLineEdit *m_pLineEdit_SideBoundary_Width;
    QLineEdit *m_pLineEdit_SideBoundary_LaneChange;
    QLineEdit *m_pLineEdit_SideBoundary_Higth;
    QComboBox *m_pCombox_SideBoundary_Type;

    CustomPushButton *m_pPushBtnLane[7];

private slots:
    void onPushBtnLane(QString strName);
};

#endif // LANE_H
